﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using vudu.Presentacion.Contrato.VU_01_Gestionar_Salones;
using vudu.Presentacion.Presentador.VU_01_Gestionar_Salones;
using vudu.Logica.Fachada;
using vudu.ClasesDominio;

namespace vudu.Presentacion.Vista.VU_01_Gestionar_Salones
{
    public partial class AgregarSalon : System.Web.UI.Page, IContratoAgregarSalon
    {
        //Declaracion de variables
        private PresentadorAgregarSalon _presentador;
        private PresentadorConsultarEdificios _presentadorEdificio;

        protected void Page_Load(object sender, EventArgs e)
        {
            //Inicio de Session
            string rolUni = (string)Session["TipoRol"];

            if (rolUni != "Universidad")
                Response.Redirect("../VU_15 Gestion de Acceso/InicioSistema.aspx");
            EnlaceLogico fachada = (EnlaceLogico)Session["Fachada"];
            _presentador = new PresentadorAgregarSalon(this, fachada);
            if (!Page.IsPostBack)
            {
                //Se instancia al presentador de ConsultarEdificios para llenar el Combox de Edificios de una universidad
                _presentadorEdificio = new PresentadorConsultarEdificios(fachada, this);
                _presentadorEdificio.ConsultarEdificios();
            }
        }

        //Metodo que se activa al presionar el boton "Aceptar" y lleva al metodo AgregarSalon que esta en el presentador 
        protected void Button2Click(object sender, EventArgs e)
        {
            _presentador.AgregarSalon();
        }

        #region Implementacion del contrato

        public TextBox NombreSalon
        {
            get { return Nombre; }
        }

        public TextBox CapacidadSalon
        {
            get { return Capacidad; }
        }

        public DropDownList EdificioSalon
        {
            get { return EdificioT; }
        }

        public DropDownList TipoSalon
        {
            get { return Tipo; }
        }

        public Label LTipo
        {
            get { return LabelTipo; }
        }

        public Label Error
        {
            get { return Label1; }
        }

        public Label LNombre
        {
            get { return LabelNombre; }
        }

        public Label LCapacidad
        {
            get { return LabelCapacidad; }
        }

        public Label LEdificio
        {
            get { return LabelEdificio; }
        }

        public Label InfoUsuario
        {
            get { return InformacionUsuario; }
        }

        #endregion Implementacion del contrato

    }
}